package cn.com.dycc.util;

import java.io.IOException;

import cn.com.dycc.common.page.BaseParam;

/**
 * 为参数添加分页条件
 * @author gaofan
 *
 */
public class PageObjectUtil {
	
	public static BaseParam getSqlPageObject(String count,BaseParam param){
		try {
			//用来判断系统使用的数据库类型
			String url=PropertiesUtil.readProperties("url");
			if(url.indexOf("mysql")>-1){
				param=getMysqlPageObject(count,param);		
			}
		} catch (IOException e) {		
			e.printStackTrace();
		}
		return param;
	}
	
	/**
	 * 为参数添加分页需要的值-- mysql
	 * @param count
	 * @param param
	 * @return
	 */
	public static BaseParam getMysqlPageObject(String count,BaseParam param){
		//判断是否需要真分页
		if(param.getPage()!=null){
			//如果为null时,使用默认页面显示总条数
			if(param.getLimit()==null){
				try {
					param.setLimit(PropertiesUtil.readProperties("pageSize"));
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			int maxPage=StringUtil.format_StringToInt(count)/StringUtil.format_StringToInt(param.getLimit());//初始化最大页码
			if(StringUtil.format_StringToInt(count)%StringUtil.format_StringToInt(param.getLimit())==0){
				if(maxPage==0){
					maxPage=1;
				}
			}else{
				maxPage=maxPage+1;
			}
			if(StringUtil.format_StringToInt(param.getPage())<=0){
				param.setPage("1");
			}
				
			param.setStart((StringUtil.format_StringToInt(param.getPage())-1)*StringUtil.format_StringToInt(param.getLimit()));
			//param.setEnd(StringUtil.format_StringToInt(param.getPage())*StringUtil.format_StringToInt(param.getPageSize()));
			param.setEnd(StringUtil.format_StringToInt(param.getLimit()));
			
		}else{
			param.setEnd(StringUtil.format_StringToInt(count));
		}
		return param;
	}

}
